#ifndef IGRID_H
#define IGRID_H

#include <memory>
#include <vector>
#include "tile.h"

using namespace std;

class IGrid
{
public:

    vector<vector<shared_ptr<Tile>>> tiles;
    int sceneWidth;
    int sceneHeight;

    virtual ~IGrid(){}

    virtual shared_ptr<IGrid> copy()=0;
    virtual void build(int width, int height)=0;
    virtual int width() const=0;
    virtual int height() const=0;

};

#endif // IGRID_H
